 #include <iostream>
 using namespace std;
 
 int swap(int *a, int *b) {
 	int t = *b;
 	*b = *a;
 	*a = t;
 }
 int swap2(int &a, int &b) {
 	int t = b;
 	b = a;
 	a = t;
 }
 
  int swap3(int a, int b) {
 	int t = b;
 	b = a;
 	a = t;
 }
 int main() {
 	int a = 20;
 	// int &ra;		// [Error] 'ra' declared as reference but not initialized
 	// ra = &a;
 	int &ra = a;
 	cout << ra << endl;
 	
 	a = 10;
 	cout << ra << endl;
 	
 	
 	int t1 = 11, t2 = 21;
 	swap(&t1, &t2);
 	cout<< t1 << " " << t2 << endl;
 	
 	swap2(t1, t2); 
 	cout<< t1 << " " << t2 << endl;
 	
 	swap3(t1, t2);
 	cout<< t1 << " " << t2 << endl;
 }
